A network switch of a data communications network provides a "switching" function for transferring information among entities of the network. Typically, the switch is a computer comprising a collection of ports interconnected by a switching fabric circuit. Each port couples the switch to a network entity over any of various types of media, including Ethernet, FDDI or token ring local area network (LAN) connections. A network entity may consist of any device, such as an end station or switch, that "sources" (i.e., transmits) or "sinks" (i.e., receives) information over the media.
The switching function provided by the LAN switch generally comprises receiving information at an input port from a network entity, forwarding that information to at least one other output port via the switching fabric and, thereafter, transmitting the information over at least one medium to another entity of the network. The information are typically forwarded among the ports by the switching fabric as a plurality of fixed-length data elements or packets. Each packet contains, inter alia, a 48-bit media access control (MAC) source address identifying the source network address of the packet and a 48-bit MAC destination address that identifies the destination network address of that packet.
Typically, forwarding decisions pertaining to output ports of a LAN switch selected to receive an input packet are rendered in accordance with routing information contained in a forwarding table of the switch. The switch uses the 48-bit destination address of the packet to "look-up" an appropriate entry of the table specifying the selected output ports for receiving the packet. The look-up operation generally comprises a full destination address compare with all entries of the table. With LAN speeds approaching 1 gigabits per second (Gb/s), use of such look-up techniques to render forwarding decisions on a forwarding table having 1 thousand (K) to 32K entries is time consuming.
In the case of an asynchronous transfer mode (ATM) switch, the information is forwarded among the ports as a plurality of fixed-length data elements or cells. Each cell is 53 bytes in length and consists of a 5-byte header field appended to a 48-byte data field. The header field contains routing and other address information, e.g., a virtual path identifier (VPI) and a virtual channel identifier (VCI), for the cell that the switch associates with the destination of the packet prior to transmission over the network.
For example, the VPI/VCI pair is used in connection with forwarding decisions made by the ATM switch for packets transferred at LAN speeds in the 100-155 Mb/s range. Specifically, the VPI/VCI is employed as a direct index into the forwarding table of the switch; such use obviates the fill destination address compare operation employed by a typical LAN switch. However, a complex protocol requiring extensive software overhead, e.g., ATM LANE, is generally used to assign and map the VPI/VCI to the destination address of the packet. This ATM approach further requires generation of a large number of entries in the forwarding table having established "connections" before engaging in data transfer operations.
The present invention is directed to enabling switches to provide forwarding decisions for packets processed at LAN speeds approaching 1 Gb/s, without the software complexity associated with ATM protocols.